#!/bin/bash

# 初始化关联数组
declare -A class_count
declare -A class_sum

# 读取文件并计算每个班级的学生人数和总分
while IFS=: read -r name class score; do
    ((class_count[$class]++))
    ((class_sum[$class]+=$score))
done < scores.txt

# 创建一个临时文件来存储结果
temp_file=$(mktemp)

# 计算每个班级的平均分并写入临时文件
for class in "${!class_count[@]}"; do
    count=${class_count[$class]}
    sum=${class_sum[$class]}
    average=$(awk "BEGIN {printf \"%.2f\", $sum / $count}")
    echo "Class: $class, Students: $count, Average Score: $average" >> "$temp_file"
done

# 按班级名称排序并输出结果
sort -k2,2 "$temp_file"

# 清理临时文件
rm "$temp_file"

